#ifndef TURN_ON_NODE_H
#define TURN_ON_NODE_H

#include <ros/ros.h>
#include "Tools.h"
#include "Params.h"
#include "NavigationController.h"
#include "PclMatch.h"
#include "turn_on_robot/DMPose.h"
#define RADIAN_TO_DEGREE 57.324840f


class TurnOnNode
{
public:
    TurnOnNode();
    ~TurnOnNode();

    void init();
    void run();
    void PublishPoseCmd(float x, float y, float a);
    void GetCartographPoseCmdCallback(const geometry_msgs::PoseStamped::ConstPtr& pose);
    void GetTestCmdCallback(const std_msgs::String::ConstPtr& msg);
private:
    ros::NodeHandle nh_;
    ros::Subscriber carto_sub;
    ros::Publisher pub_pose_;
    std::shared_ptr<Tools> tools;
    std::shared_ptr<NavigationController> navController;
    std::shared_ptr<PclMatch> pclMatch;
    // 定义params
    std::shared_ptr<Params> params;
    geometry_msgs::PoseStamped g_carto_pose_;
    Point2D_ g_pose_2d;
};

#endif // TURN_ON_NODE_H